1. Field
The present invention relates to the field of data communications. In particular, this invention relates to a networking device and method for maintaining error detection functionality in the presence of error duplication.
2. General Background
Over the last few years, self-synchronous scramblers have been used in various types of networks in efforts to improve the security of data being transferred between a source and a destination. Currently, self-synchronous scramblers may be used in a synchronous optical network (e.g., Point-to-Point xe2x80x9cPPPxe2x80x9d over Synchronous Digital Hierarchy xe2x80x9cSDHxe2x80x9d/Synchronous Optical Network xe2x80x9cSONETxe2x80x9d), in an Asynchronous Transfer Mode (ATM) based network, or even in an Ethernet network. A scrambler is considered to be xe2x80x9cself-synchronousxe2x80x9d when the scrambled data transferred to the destination includes the state of the scrambler.
At the destination, a descrambler receives the scrambled data and attempts to recover the original, descrambled data. Unfortunately, in the recovery process, a descrambler duplicates the received bit errors. In certain situations, this may adversely effect error detection capabilities such as the reliability of Ethernet cyclic redundancy check (CRC) operations for example. An Ethernet CRC can detect 1-, 2-, or 3-bit errors for any burst error with a length up to thirty-two (32) bits. However, due to error duplication by the descrambler, the burst error may greatly exceed 32 bits.
Although it has been shown that the reduction in the error detection capability of the Ethernet CRC is negligible for random errors, the error duplication of the descrambler causes certain normally detectable errors to become undetectable and vice versa. For example, as shown in FIG. 1, xe2x80x9cE(x)xe2x80x9d 100 is a polynomial representation of the error on the received bit stream before descrambling, xe2x80x9cT(x)xe2x80x9d 110 is a polynomial representation of a transmitted message, xe2x80x9cExe2x80x2(x)xe2x80x9d 120 is a polynomial representation of the duplication of the error E(x), and xe2x80x9cD(x)xe2x80x9d 130 is a polynomial representation of the error, E(x)+Exe2x80x2(x), realized at the destination after descrambling. As shown, for a first boundary error condition, bit errors 140 occurring outside T(x) 110 are now duplicated inside T(x) 110. Likewise, for a second boundary error condition, bit errors occurring inside T(x) 150 are duplicated and now are partially outside T(x) 110. Thus, error detection in the presence of the scrambler may become less reliable. Of course, when D(x) 130 is entirely contained in T(x) 110, the error detection capabilities of CRC are not comprised when the CRC and the scrambler polynomials have no factors in common.
The present invention relates to a networking device and method for transparently modifying a cyclic redundancy check (CRC) of a message so that higher layers (e.g., data link layer and above) can detect error duplication caused by scrambling and descrambling. No increase in the size of the messaging is needed so that the invention may be used for current and future technologies. In one embodiment, the networking device comprises logic employed within a physical layer of the device. This logic, referred to as a scrambler, modifies an original cyclic redundancy check (CRC) value associated with a message. This enables detection of a duplication of bit errors at a targeted destination of the message.